package at.fhooe.mc.control.automation;

import at.fhooe.mc.data.SystemData;

/**
 * interface for automatic control modules
 *
 * @author Thomas Wirth
 *
 */
public interface IAutoAlgorithm
{
	/**
	 * Initialises the algorithm
	 * @param data: The starting building elevator system state
	 */
	public void init(SystemData data);
	/**
	 * Notifies the algorithm of new values in the elevator system, like new requests
	 * or new state of the elevators.
	 *
	 * @param data:  The new building elevator system state
	 * @param control:  reference to the control system
	 */
	public void newValuesAvailable(SystemData data, IAutomationControl control);

}
